package pers.xhh.shopapi.service;

import com.baomidou.mybatisplus.extension.service.IService;
import pers.xhh.shopapi.common.Mi;
import pers.xhh.shopapi.entity.MiRoleEntity;
import pers.xhh.shopapi.entity.to.role.MiRoleRightsTo;
import pers.xhh.shopapi.entity.to.role.MiRoleTo;

/**
 * @author wei-xhh
 * @date 2020-11-22
 */
public interface MiRoleService extends IService<MiRoleEntity> {

    /**
     * 只有超级管理员有权限查询这个
     * @param authorization token
     * @return 结果
     */
    Mi listRoles(String authorization);

    /**
     * 添加角色
     * @param miRoleTo 参数
     * @return 结果
     */
    Mi saveRole(MiRoleTo miRoleTo);

    /**
     * 查询一条角色
     * @param id id
     * @return 结果
     */
    Mi getRoleById(Integer id);

    /**
     * 更新角色
     * @param id id
     * @param miRoleTo 参数
     * @return 结果
     */
    Mi updateRoleById(Integer id, MiRoleTo miRoleTo);

    /**
     * 删除角色
     * @param id id
     * @return 结果
     */
    Mi deleteRoleById(Integer id);

    /**
     * 更新角色权限列表
     * @param id id
     * @param miRoleRightsTo 参数
     * @return 结果
     */
    Mi updateRights(Integer id, MiRoleRightsTo miRoleRightsTo);

    /**
     * 删除某个权限并权限结果
     * @param authorization
     * @param id
     * @param rightId
     * @return
     */
    Mi deleteRights(String authorization, Integer id, Integer rightId);
}
